package com.demo.designmode.singleton;

/**
 * @Author: jxm
 * @Description: 饿汉式-方式1（静态变量方式） 线程安全
 * @Date: 2022/6/7 16:46
 * @Version: 1.0
 */
public class HungrySingleton1 {

    /**
     * 该方式在成员位置声明Singleton类型的静态变量，并创建Singleton类的对象instance。
     * instance对象是随着类的加载而创建的。如果该对象足够大的话，而一直没有使用就会造成内存的浪费。
     */

    private HungrySingleton1(){}

    private static HungrySingleton1 singleton = new HungrySingleton1();

    public static HungrySingleton1 getInstance(){
        return singleton;
    }

    public static void main(String[] args) {
        for (int i =0;i<10;i++){
            new Thread(()->{
                HungrySingleton1 instance = HungrySingleton1.getInstance();
                System.out.println(Thread.currentThread().getName()+"=="+instance.hashCode());
            }).start();
        }
    }
}
